package com.java.yz.day16.udpDemo1;

import java.io.IOException;
import java.net.*;

/*
    UDP传输-发送端思路
        1:建立udp的socket服务
        2:将要发送的数据封装成数据包
        3:通过udp的socket服务,将数据包发送出
        4:关闭资源


 */
public class udpSendDemo1 {
    public static void main(String[] args) {
        //创建发送端的Socket对象
        //DatagramSocket
        try {
            //1.创建发送端的Socket对象
            DatagramSocket socket = new DatagramSocket();

            //2:将要发送的数据封装成数据包
            //怎么封装成数据包 --> DatagramPacket
            //创建数据包
            byte[] bytes="你是谁".getBytes();

            //将要发送的数据封装成数据包DatagramPacket
            //DatagramPacket(byte[] buf，int length，InetAddress address, int port)
            //构造用于发送长度的分组的数据报包
            // 指定主机上到指定的端口号。
            //这里的字节数组指的是要发送的数据转成字节数组类型
            //length代表字节数组的长度
            //address目标接收端的ip地址
            //port接收端所占用的端口号

            InetAddress byName = InetAddress.getByName("192.168.123.110");
            DatagramPacket packet = new DatagramPacket(bytes, bytes.length,byName,12345);


            //3:通过udp的socket服务,将数据包发送出
            socket.send(packet);


            //4:关闭资源
            socket.close();

            } catch (UnknownHostException e) {
                e.printStackTrace();
            }
            catch (SocketException e) {
            e.printStackTrace();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
      }
}
